package com.ruoyi.demo.service;

import java.util.List;
import com.ruoyi.demo.domain.AuctionSessionGoods;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.demo.domain.vo.AuctionSessionGoodsVO;

/**
 * 专场商品关联服务接口
 * 
 * @author metaee
 * @date 2025-03-06
 */
public interface IAuctionSessionGoodsService extends IService<AuctionSessionGoods>
{
    /**
     * 查询专场商品关联列表
     * 
     * @param auctionSessionGoods 专场商品关联
     * @return 专场商品关联集合
     */
    public List<AuctionSessionGoods> selectAuctionSessionGoodsList(AuctionSessionGoods auctionSessionGoods);

    /**
     * 查询专场商品关联详细
     * 
     * @param id 专场商品关联主键
     * @return 专场商品关联
     */
    public AuctionSessionGoods selectAuctionSessionGoodsById(Long id);

    /**
     * 新增专场商品关联
     * 
     * @param auctionSessionGoods 专场商品关联
     * @return 结果
     */
    public int insertAuctionSessionGoods(AuctionSessionGoods auctionSessionGoods);

    /**
     * 修改专场商品关联
     * 
     * @param auctionSessionGoods 专场商品关联
     * @return 结果
     */
    public int updateAuctionSessionGoods(AuctionSessionGoods auctionSessionGoods);

    /**
     * 批量删除专场商品关联
     * 
     * @param ids 需要删除的专场商品关联主键集合
     * @return 结果
     */
    public int deleteAuctionSessionGoodsByIds(Long[] ids);

    /**
     * 删除专场商品关联信息
     * 
     * @param id 专场商品关联主键
     * @return 结果
     */
    public int deleteAuctionSessionGoodsById(Long id);

    /**
     * 查询专场商品列表（包含商品详细信息）
     *
     * @param sessionId 专场ID
     * @return 专场商品列表
     */
    List<AuctionSessionGoodsVO> listSessionGoodsWithDetails(Long sessionId);
}
